package com.naiterui.ehp.bs.pharmacist.vo.recommend;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.naiterui.ehp.bp.utils.date.DateUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 处方笺详情VO
 *
 * @version 2017年7月21日 by wangchuan
 * @Description
 */
@Data
@ApiModel(value = "PrescriptionDetailVO", description = "处方笺详情VO")
public class PrescriptionDetailVO implements Serializable {
    /**
     * 是否显示医生签章。0.不显示 1.显示
     */
    public static final Integer SHOW_SIGNATURE_FALSE = 0;
    /**
     * 是否显示医生签章。0.不显示 1.显示
     */
    public static final Integer SHOW_SIGNATURE_TRUE = 1;
    private static final long serialVersionUID = -7663761843161349143L;

    /**
     * 处方笺抬头
     */
    @ApiModelProperty(value = "处方笺抬头")
    private String title;

    /**
     * 处方笺编号
     */
    @ApiModelProperty(value = "处方笺编号")
    private String serialNumber;

    /**
     * 推荐时间
     */
    @ApiModelProperty(value = "推荐时间")
    private Long recomTime;

    /**
     * 患者姓名
     */
    @ApiModelProperty(value = "患者姓名")
    private String patientName;

    /**
     * 患者年龄
     */
    @ApiModelProperty(value = "患者年龄")
    private Integer patientAge;

    /**
     * 患者年龄单位
     */
    @ApiModelProperty(value = "患者年龄单位[周、个月、岁]")
    private String patientAgeUnit;

    /**
     * 患者年龄单位
     */
    @ApiModelProperty(value = "患者年龄显示")
    private String patientAgeStr;

    /**
     * 患者性别：0.女 1.男
     */
    @ApiModelProperty(value = "患者性别：0.女 1.男")
    private Integer patientGender;

    /**
     * 诊断信息，多个诊断拼接
     */
    @ApiModelProperty(value = "诊断信息")
    private String diagnosis;

    @ApiModelProperty(value = "诊断名列表")
    private List<String> diagnosisList;

    /**
     * 推荐药品信息：<code>products</code>
     */
    @ApiModelProperty(value = "推荐药品信息")
    private List<PrescriptionItemVO> items;

    /**
     * 医生科室
     */
    @ApiModelProperty(value = "医生科室")
    private String departmentName;

    @ApiModelProperty(value = "医生ID")
    private Long doctorId;

    /**
     * 医生姓名
     */
    @ApiModelProperty(value = "医生姓名")
    private String doctorName;

    @ApiModelProperty(value = "初审药师姓名")
    private String prePharmacistName;
    /**
     * 药师姓名
     */
    @ApiModelProperty(value = "药师姓名")
    private String pharmacistName;

    /**
     * 有效期描述
     */
    @ApiModelProperty(value = "有效期描述")
    private String expireDesc;

    /**
     * 慢性疾病提示
     */
    @ApiModelProperty(value = "慢性疾病提示")
    private String chronicDisease;

    /**
     * 医生审核时间
     */
    @ApiModelProperty(value = "医生审核时间")
    private Long doctorAuditTime;

    /**
     * 药师审核时间
     */
    @ApiModelProperty(value = "药师审核时间")
    private Long pharmacistAuditTime;

    /**
     * 是否显示医生签章。0.不显示 1.显示
     */
    @ApiModelProperty(value = "是否显示医生签章。0.不显示 1.显示")
    private Integer showDoctorSignature;

    /**
     * 是否显示药师签章。0.不显示 1.显示
     */
    @ApiModelProperty(value = "是否显示药师签章。0.不显示 1.显示")
    private Integer showPharmacistSignature;

    /**
     * 签章名
     */
    @ApiModelProperty(value = "签章名")
    private String signatureContent;

    /**
     * 是否已购买 ：0，否；1，是
     */
    // @JsonIgnore(true)
    @ApiModelProperty(value = "是否已购买 ：0，否；1，是[PT-2.14.0新增]")
    private Integer buy;
    /**
     * 是否已过有效期：0，否；1，是
     */
    // @JsonIgnore(true)
    @ApiModelProperty(value = "是否已过有效期：0，否；1，是[PT-2.14.0新增]")
    private Integer expire;

    /**
     * 是否可以购买：0，否；1，是
     */
    // @JsonIgnore(true)
    @ApiModelProperty(value = "是否可以购买：0，否；1，是[PT-2.14.0新增]")
    private Integer canBuy;

    /**
     * 推荐是否已作废
     */
    @ApiModelProperty(value = "是否已作废：0，未作废；1，已作废；【医生端-V3.4.0新增- by gongbaoqiang】")
    private Integer invalid;
    /**
     * 作废时间
     */
    @ApiModelProperty(value = "作废时间【医生端-V3.4.0新增- by gongbaoqiang】")
    @JsonFormat(pattern = DateUtil.DATE_TIME)
    private Date invalidTime;
    /**
     * 核对发药人
     */
    @ApiModelProperty(value = "核对发药人【医生端-V3.4.0新增- by gongbaoqiang】")
    private String checkMedicationName;
    /**
     * 是否显示作废按钮
     */
    @ApiModelProperty(value = "是否显示作废按钮：0, 显示； 1， 不显示；【医生端-V3.4.0新增- by gongbaoqiang】")
    private Integer showInvalidBtn;

    /**
     * 医院公章图片地址
     */
    @ApiModelProperty(value = "医院公章图片地址【医生端-V3.4.0新增- by gongbaoqiang】")
    private String hospitalSealUrl;

    /**
     * 处方价格
     */
    @ApiModelProperty(value = "处方价格")
    private String totalPrice;

    /**
     * 推荐ID
     */
    @ApiModelProperty(value = "推荐ID")
    private Long recommendId;

    @ApiModelProperty(value = "处方审核状态(0:不需要审核, 1:待审核，2:通过, 3:不通过)")
    private Integer checkingStatus;

    @ApiModelProperty(value = "审核描述")
    private String checkingDesc;

    @ApiModelProperty(value = "医生签章图")
    private String drSealImage;
    @ApiModelProperty(value = "初审药师签章图")
    private String prePhSealImage;
    @ApiModelProperty(value = "复审药师签章图")
    private String phSealImage;

    @ApiModelProperty(value = "是否手写签章(0，否；1，是)")
    private Integer handWriting;

    @ApiModelProperty(value = "是否已申请求药(0，否；1，是)")
    private Integer require;
}
